Two-Sided Malicious Security for Private Intersection-Sum with Cardinality

具有基数的隐私交集求和的两方恶意安全

具有基数的(cardinality)隐私交集求和允许两方,其中每方持有一个隐私集合,其中一方还持有与它的集合中的每个元素相关的隐私整数值,共同计算两个集合的相交的基数,以及相交中所有元素的相关整数值的总和,除此之外没有其他。

我们提出了一种新的隐私交集求和的构造,它提供了带有中止功能的恶意安全,并保证双方在成功完成协议后都能收到输出。我们构造的一个核心构件是一个称为洗牌分布式不经意伪随机函数(DOPRF)的基元,它是一个伪随机函数(PRF),使用双方共享的密匙提供不经意评估,此外还允许不经意地混合几个平行不经意评估的 PRF 输出。我们提出了第一个具有恶意安全的洗牌 DOPRF 的构造。我们进一步提出了几个新的 sigma 证明协议,用于跨 Pedersen 承诺、ElGamal 加密和 Camenisch-Shoup 加密的关系,我们在主要构造中使用了这些协议,为此我们开发了新的批处理技术以减少通信。

我们实现并评估了我们协议的效率,并表明我们可以实现通信成本只比最有效的半诚实协议大 4-5 倍。当测量在云中执行协议的货币成本时,我们的协议比半诚实协议的成本高 25 倍。我们的结构还允许不同的参数制度,使通信和计算之间的权衡成为可能。

1. 介绍

隐私集合求交集:隐私集合求交集(PSI)协议使两方都有一个隐私的输入集,可以计算两个集的交集,而除了交集本身外,不能获得其他的信息。尽管功能简单,PSI 在隐私保护的位置共享 [NTL+11]、全测序人类基因组测试 [BBDC+11]、协作僵尸网络检测 [NMH+10]、数据挖掘 [ARF+10]、社交网络 [LCYL11, NDCD+13]、在线游戏 [BHLB11]、测量广告转换率 [IKN+17] 等方面发现许多应用。由于它的重要性和广泛的应用,PSI 已经在一长串的工作中被广泛研究 [HFH99, FNP04, DSMRY09, DCKT10, HEK12, DCW13, SFF14, PSZ14, PSSZ15, EFG+15, DD15, Lam16, KKRT16, RR17a, RR17b, FNO18, PSWW18, PRTY19] 。

增强功能:虽然 PSI 功能成功地模拟了一些应用场景中的保密性要求,但在一些信息共享环境中,揭示整个交集是不可接受的,而是需要一个更细粒度的隐私保护计算。特别是对相交集的不同聚合计算为广泛的应用提供了限制隐私泄露的模型。具有基数的 PSI 是这种聚合功能的一个例子,它限制双方只学习交集的基数(或大小)[HFH99, AES03, FNP04, KS05, VC05, NAA+09, DCGT12]。

Ion 等人 [IKN+17] 引入的隐私交集求和功能是聚合功能的另一个例子,其中一个输入集有与该集的元素相关的整数值,双方计算相交的基数,以及与相交集相关的整数值的聚合。这种原始方法模拟了实践中的许多应用。其中包括这样的设置:一方持有关于一组人的隐私统计资料,另一方拥有关于这组人的成员资格的信息,而这两方想要计算关于这组成员的统计资料的集合。Nagu 等人 [NDCD+13] 在社交网络的背景下考虑了这种情况的一个具体实例,即一个用户知道与她的每个朋友相关的权重,并想计算她与另一个用户共同拥有的朋友的总(或平均)权重。在测量广告转化率时 [IKN+17],广告商可能知道每个客户的购买金额,广告商和广告发布者可以共同计算从发布者那里看到广告并最终购买产品的客户总数和总购买金额。

现有的隐私相交和的解决方案 [IKN+17] 只在半诚实的情况下提供安全性,即假设每一方都诚实地遵守协议。虽然在互动各方有外部激励(例如法律协议)来遵循协议的情况下,这种安全水平可能是足够的,但对于对手可能任意偏离协议的广泛场景,这种安全水平是不够的。在恶意安全的设置中,我们有只实现 PSI 功能的协议,然而,具有竞争效率的构造 [FHNP16, RR17a, RR17b] 有一个主要的缺陷,即它们只支持单边输出,在许多设置中,双方都需要获得计算的输出。升级这些协议以实现双面输出是一项非同小可的任务。例如,正如 Rindal 等人 [RR17b] 所解释的,单边协议的输出接受者需要证明它诚实地执行了协议的最后一步。我们没有为这一任务量身定做的结构,而且应用通用的方法会有很高的代价。

在这项工作中,我们考虑了恶意环境中的隐私交集求和的问题,它提供了对这种对抗者的保护。我们要求双方要么收到计算的输出,要么放弃。我们的重点是优化协议的通信效率,因为正如 Ion 等人 [IKN+17] 的工作中所讨论的,这是实践中最重要的成本。

我们的贡献:我们提出了一个新的具有基数的隐私交集求和协议,该协议实现了带有中止的恶意安全,这保证了如果协议没有中止,双方都能收到相交和。我们的协议提供了双面输出,即使我们把注意力只限制在 PSI 功能上,这已经是一种改进,因为现有的恶意 PSI 协议 [FHNP16, RR17a, RR17b] 被限制在单一输出接收者上。

我们的构造是第一个具有恶意安全的隐私交集求和的构造,在集合的大小 上实现了线性的通信和计算开销。这比现有的唯一的其他可用于解决这个问题的方法 [HEK12] 有很大的改进,该方法使用现有的具有恶意安全的通用 MPC 技术,正如我们在相关工作中讨论的,假设安全参数 ,至少会产生 的乘法开销。从表 6 可以看出,这些通用技术比我们的协议在大小为 的输入上产生 倍的通信和 倍的货币成本。

我们的结构也可以被实例化,使实现恶意安全比半诚实版本所需的开销需要亚线性的 通信复杂度和 计算复杂度,这在通信比计算昂贵得多的情况下是有利的。

我们的构造采用了 Ion 等人 [IKN+17] 的工作中的一般方法,该方法利用带有共享密钥的不经意伪随机函数(PRF),它可以以分布式的方式进行评估,将输入集的值置换并映射到一个伪随机空间,从而实现交集的计算,同态加密允许在 PRF 评估期间配对相关的值,然后评估交集的和。为了将这一通用方法升级为恶意安全,我们开发了几项新技术,这些技术可能具有独立的利益:

新的分布式 OPRF:我们解决方案的一个核心构件是一个具有恶意安全的分布式 OPRF。为了实现具有恶意安全的分布式 OPRF,我们利用了 Dodis 和 Yampolskiy [DY05] 的 PRF 构造,对于该构造,我们可以构造关于承诺的 PRF 密钥的诚实评估证明。我们需要处理的一个问题是,这个 PRF 被证明只对多项式域安全。为了规避这个问题,我们为 PRF 引入了一个较弱的选择性安全概念,这个概念被指数域的构造所满足,并且我们表明这个属性对于我们的具有基数的隐私交集求和协议是足够的。

可验证的参数生成:我们构建了一个分布式的 PRF 评估协议,该协议对承诺的和加密的值进行了多次评估。因此,为了实现该协议的恶意安全,我们使用加密值和承诺值之间的关系证明,这关键是依赖于这些方案的参数是诚实生成的假设。由于我们不想假设任何可信的设置,我们提出了可验证的 Pedersen 承诺、Camenish-Shoup(CS)和 ElGamal 加密的参数生成协议。

松弛的范围证明:分布式 OPRF 的最后一个扩展是实现对平行执行的多个输入的不经意评估的洗牌,这隐藏了与原始输入的映射,并且是为了隐藏交集中的元素而需要的。为了实现这一点,我们开发了一个关于 Camenisch-Shoup 加密的洗牌解密的证明协议。我们利用 Bayer-Groth 洗牌证明 [BG12],它可以证明两组密码对同一组明文进行加密,直至发生变化。为了能够在这一步中证明指数的知识,证明者需要从 Camenisch-Shoup 加密转换到 ElGamal 加密,它们有不同的领域。我们介绍了一种证明技术,用于证明在 CS 和 ElGamal 加密下加密的数值的一致性,该技术使用带有松弛的范围证明。

我们的构造在几个地方大量利用了 sigma 证明协议 [Dam02],包括 DOPRF 的评估证明,洗牌的重新加密步骤,交叉和的重新随机化。

范围证明的批处理:我们介绍了基于 sigma 协议的范围证明的新批处理技术。现有的高效批处理证明并不与数值的位级表示法一起工作,而是在未知顺序的组中运行 [Bou00,CS03],而 sigma 协议的批处理技术只在已知顺序组的情况下构建 [GLSY04]。我们展示了如何在未知顺序的组上进行批量范围证明,同时避免范围证明的松弛度出现大的爆炸,如果我们直接将已知组顺序的批处理方法适应于隐藏顺序,就会产生足够的空间来避免模数减少的需要。

CS 和 ElGamal 加密的批处理证明:我们还将批处理技术用于承诺,并为 Camenisch-Shoup 加密开发批处理方法。我们以一种新的方式利用 Bayer 和 Groth [BG12] 的工作中的多重指数论证,对验证者不知道加密随机性的 ElGamal 密文之间的关系进行批量证明。由于我们需要一个具有可证明的阈值解密的加法同态加密方案,我们使用指数 ElGamal 来加密关联值。这意味着我们的结构支持评估,对于这些评估,最终的相交和是在一个多项式域内,可以计算离散对数来进行解密。

实施和评估:我们实现了我们的恶意安全隐私交集求和协议,并在大规模数据集上评估了其性能。我们的实验表明,当我们设置参数以最小化通信开销时,我们的协议的通信成本大约比基于 DDH 的最有通信效率的半诚实协议高 4 倍。不太激进的参数选择导致比基于 DDH 的半诚实协议扩大了约 7 倍,计算效率也有很大提高。我们还使用谷歌云的定价估计了运行我们协议的货币成本,并得到在大小为 的输入上执行我们的隐私交集求和协议需要 13 美分。这个货币成本比半诚实协议高 25 倍,我们认为这对于更强大的安全保证来说是一个合理的成本。我们在第 6 节介绍了我们的实验测量。我们的成本比现有的通用方法在货币成本上有了很大的改进,用于具有基数的隐私交集求和。我们的货币成本也在最有效的恶意 PSI 协议 [RR17b] 的 2 倍之内,我们注意到这些协议只提供单边输出,与交集上的计算函数不兼容。

相关工作:在介绍我们的构造的技术概况之前,我们先概述一下恶意设置中现有的 PSI 解决方案 [KS05, HL08, DSMRY09, CZ09, CKRS09, JL09, HN10, DCKT10, FHNP16, RR17a, RR17b],并讨论将这些工作中的方法扩展到隐私交集求和问题的挑战。由于我们的主要目标是通信效率,我们将讨论限制在提供线性通信复杂性的构造上。

De Cristofaro 等人的工作 [DCKT10] 提出了一个 PSI 协议,其中只有一方( )知道 PSI 的输出,而另一方( )没有任何信息。我们的目标是获得一个双方都能收到输出的协议,接下来我们将解释实现这一功能的挑战。在一个较高的水平上,该协议的工作原理如下。首先,双方共同对 的每个元素评估一个 OPRF,其中 持有 OPRF 密钥 ,只有 获得 OPRF 值。其次, 使用密钥 在自己的元素上计算 OPRF 值并发送给 。最后, 计算 OPRF 值的交集和相应的集合交集。该协议使用的 OPRF 定义为 ,其中 是被建模为随机预言机的哈希函数 [BR93]。在 OPRF 协议中, 学习 而不向 透露任何关于 的信息,最后计算出 。由于我们希望双方都能学习 PSI 的输出,一个自然的想法是让 将其 OPRF 值发回给 ,但 必须证明 是在所需的输入上正确计算的,而不透露任何关于 的信息,这是个挑战。另一个想法是用不同的角色运行协议两次,在两次执行过程中,各方必须证明输入一致性。换句话说, 应该在零知识中证明它在第一次执行中对 的输入与它在第二次执行中对 OPRF 的输入是一致的,这也是一种挑战。更重要的是,这个协议很难扩展到具有基数的隐私集合求交或隐私交集求和。在他们的 OPRF 协议的最后一步, 对其每个元素 计算 中的 ,关键是 知道 的输入,以计算 OPRF 值。因此,相交处的元素必须为 所知,这使得该协议很难扩展到甚至具有基数的隐私集合求交。

Jarecki 和 Liu [JL09] 的 PSI 协议也是基于与上述类似的 OPRF 协议,但双方可以证明他们对 OPRF 的输入与之前承诺的值的一致性。因此,双方可以先承诺他们的输入,然后在两个方向上运行上述协议,这样双方都能学到 PSI 的输出。然而,该协议有一些局限性。首先,他们的安全证明需要将元素的域限制为安全参数的多项式。此外,该协议需要一个通用参考字符串(CRS),其中 CRS 包括一个安全的 RSA 模数,必须由受信任的第三方生成,这是我们想避免的。为了将这个协议扩展到具有基数的隐私集合求交,OPRF 协议的接收方( )应该在不学习其元素 和 OPRF 值 之间的对应关系的情况下学习 OPRF 值,这需要我们在这项工作中开发的洗牌技术。需要更多的成分和技术来将协议扩展到隐私交集求和,以及消除上述限制。

Freedman 等人 [FHNP16] 的协议中实现恶意安全的想法是要求一方( )重做另一方( )对交集中的元素的计算并验证一致性。这可以通过以下方式实现。 生成一个度数为 的多项式 ,其根设置为 集合中的 个元素,并将 的同态加密系数发送给 。然后,对于 集合中的每个元素 以随机的 加密 并回复。重要的是,这个计算中使用的随机性来自 ,其中 是一个哈希函数,被建模为一个随机预言机。如果 在交集中,那么 可以了解 并验证 的计算;否则,关于 的任何信息都不会透露给 。这个协议关键是需要 学习交集中的元素,因此将协议扩展到甚至具有基数的隐私集合求交似乎需要创新的想法。此外,协议中利用了散列到桶中的技术来实现线性计算复杂性。计算每个桶的 PSI 对于 PSI 问题来说是足够的,然而揭示每个桶的基数交集或交集的和会损害具有基数的隐私集合求交或隐私交集求和问题的安全性。

构建具有恶意安全的隐私交集求和协议的另一个选择是将直接恶意的两方计算协议应用于我们的功能。这种协议使用被评估功能的电路表示。计算两个大小为 的集合的交集的最有效方法是使用不经意排序,它将所需的比较次数从 减少到 。相比之下,在我们的结构中,我们的目标是对输入的数量进行线性依赖。此外,电路解决方案必然会产生额外的安全系数乘法开销,因为它们需要对集合值的位级表示进行操作。在基于混淆电路的解决方案的情况下,这是结构中固有的,而在使用算术电路的解决方案的情况下,使用比特表示的需要来自于这样一个事实,即我们将对这些值进行计算比较,而最有效的方法是使用值的二进制表示。最近基于电路的 PSI 协议 [PSSZ15, CO18, PSTY19, FNO19] 只提供了半诚实环境下的安全性,由于他们使用了特定的基元,如布谷鸟散列,因此将其扩展到恶意环境是不容易的。此外,他们的协议需要超线性的通信。Pinkas 等人的工作 [PSTY19] 提出了一个基于半诚实电路的 PSI 构造,实现了线性通信,然而,这个构造通过使用不经意的可编程 PRF 技术 [KMP+17] 和布谷鸟散列 [PR04],在电路中只实现了线性的比较数。将这些技术推广到恶意设置中会带来许多挑战。我们的结构提出了一种在恶意设置中获得不经意的 PRF 评估的方法。

2. 技术概述

在这一节中,我们给出了我们的恶意安全隐私交集求和协议的技术概述。我们的出发点是半诚实的私有相交和协议 [39]。我们确定了从半诚实的版本中获得恶意安全的技术挑战,然后介绍了我们解决这些问题的方法。

半诚实的隐私交集求和:Ion 等人 [39] 的半诚实协议利用了一种被称为分布式不经意伪随机函数(DOPRF)的加密基元,它可以实现以下功能。DOPRF 的密钥 k 在两方之间共享,其中每一方都可以独立生成他们的份额。DOPRF 有一个不经意评估功能,这是一个 2 方计算协议,双方共同评估 PRF ,在密钥 下,对输入 进行评估,由其中一方获得 PRF 的输出 ,任何一方都不会再被发现。

DOPRF 功能足以构建一个 PSI 协议,具体如下。首先,双方独立生成 DOPRF 密钥的密钥共享。然后,他们使用不经意评估协议来评估 的每个输入元素 xi 上的 DOPRF, 从中得知 ,然后将其送回 。类似地,他们在 的输入元素 上评估 DOPRF,以获得 。计算得到的两组 PRF 值的交集使双方都能计算出 PSI,因为每一方都有从交集的 PRF 值到其相应输入元素的映射。

上述 PSI 协议可以扩展到获得 PSI-cardinality 和私有相交和协议。为了实现 PSI-cardinality,只需构建一个洗牌的 DOPRF 协议,该协议允许 个平行执行的 OPRF 评估,其中一方收到的 PRF 值被随机洗牌,并由另一方选择排列组合。收到 PRF 值的一方仍然可以计算两组 PRF 值的交集,但不再有交集的 PRF 值和它们所对应的输入之间的映射。因此,这一方唯一能了解的是交集的 cardinality。我们可以扩展这个想法,在一方(比如说 )将整数值与集合元素相关联的情况下,进一步获得隐私交集求和。在这种情况下,两方首先对 的输入集运行洗牌的 DOPRF。对于 的输入集,双方对 的每个输入 评估 DOPRF。此外, 还在 持有秘密密钥的可重新随机化的加法同构加密下,对 的相关整数 进行了加密。这允许 为每个 学习一个 对,因此它可以从两组 PRF 值中计算出集合交集,然后同态地将相应的密码文相加。然后,所得的密文被重新随机化,并被送回给 有解密密钥来恢复相交和。

上面描述的基元和协议只对半诚实的对手是安全的。为了构建一个提供恶意安全的私有相交和协议,我们设计了这些工具的恶意对应物。

恶意的 DOPRF:Ion 等人 [39] 的半诚实交叉和协议使用以下基于 Diffie-Hellman 的 PRF 构造,其定义为 ,其中哈希函数 被建模为一个随机神谕 [7]。通过共享 PRF 密钥,它可以被实例化为一个 DOPRF,即 。具体来说,双方可以独立产生密钥份额 。为了评估 的输入 的 DOPRF, 发送 ,然后 可以计算出 PRF 输出 。当我们切换到恶意设置时,恶意的 可能会向 发送 ,用于任意的 ,并得到 可以通过将 提高到 的幂来学习 PRF 输出。为了将这个 DOPRF 协议升级到恶意设置,特别是基于模拟的安全性, 需要证明哈希函数 是正确应用的,或者等同于证明知道哈希值的预像,这是一个挑战。

鉴于上述与在恶意设置中使用基于 DH 的 DOPRF 有关的困难,我们选择使用一个不同的 PRF 作为新的 DOPRF 构造的起点,对它的正确评价可以被证明。我们使用函数 ,它定义在素数阶的群 上。这个函数最初在 BonehBoyen [8] 的工作中作为弱签名被引入,随后被 DodisYampolskiy [23] 证明为决策性 q-Diffie Hellman 反转(q-DHI)假设下的伪随机函数。我们结合 Belenkiy 等人 [6] 和 Jarecki-Liu [40] 的观点,为这个 PRF 构建了一个分布式的不经意评估协议,并证明了它在恶意环境下的安全性。

我们首先描述了上述 PRF 的分布式评估协议,它提供了半诚实的安全性。我们把双方称为发送方和接收方,其中持有输入 的一方被称为发送方,获得 PRF 输出的一方被称为接收方。对于分布式密钥的生成,双方随机挑选秘密密钥份额 ,这样 PRF 密钥 被设定为 。我们的分布式评估协议的出发点是以下想法。接收方使用其持有秘密密钥的加法同构公钥加密方案对其密钥份额 进行加密,并将加密结果 发送给发送方。然后,发送方以同态方式计算出 并将其发回给接收方。接收者可以解密密文以获得 ,并计算 PRF 输出

在上述协议中,接收方学到了 PRF 输出之外的信息,其中包括值 。为了消除这种泄漏,我们在发送方一侧引入了一个随机乘法掩码 。也就是说,接收器获得的加密值是 。在指数化过程中,我们通过让发送方也向接收方发送 ,并让接收方计算 来消除这个掩码。事实上,这种随机化对模拟证明来说是不够的。因为 是由发送方同态计算的,发送方不能在同态加密下进行模运算,所以接收方得知的 值仍然可能泄露 的信息。这就是为什么我们进一步修改随机化为 ,其中 是随机的, 是群 的阶。这种随机化保证了接收者得到的数值是可模拟的,同时也是正确的,因为群的阶是

为了获得上述协议中的恶意安全,发送方需要证明同态加密的正确性,以及 在新密文和 中的一致性。为了实现这一点,我们使用 Camenisch-Shoup 加密 [13],为此我们可以使用西格玛协议为这些操作提供零知识证明。

Dodis-Yampolskiy PRF 的指数域:Dodis 和 Yampolsky 的工作 [23] 证明了我们上面讨论的 PRF 构造的自适应安全性,但只是在多项式大小的域的设置中。然而,对于许多现实世界的应用中使用的输入来说,这是不正确的。因此,我们重新审视了这个结构的安全证明,并表明对于指数大小的域,PRF 满足较弱的选择性安全概念,在 q-DHI 假设下,PRF 的输入是由对手在安全游戏中预先选择的。此外,由于以下原因,PRF 的这种安全水平对于我们的私有相交和协议的安全是足够的。在高层次上,我们让双方首先承诺自己的输入,同时进行零知识证明,然后共同决定 PRF 参数。在基于模拟的证明中,模拟器可以首先提取对手的输入,然后还原为 PRF 的安全博弈,其中的选择性安全足以满足我们的目的。

恶意的 PSI:正如我们为半诚实环境所讨论的,安全的 DOPRF 协议足以满足 PSI 协议的要求。在恶意设置中,为了从上述恶意 DOPRF 协议中构建一个恶意 PSI 协议,接收方应该将 PRF 值发回给发送方,并以零知识的方式证明其计算 关于 和密文 的正确性。这也可以通过西格玛协议实现。

恶意洗牌的 DOPRF:为了将恶意 PSI 协议扩展到恶意 PSI-cardinality,我们需要额外启用洗牌 DOPRF 功能,以接收方决定的随机洗牌(permuted)顺序向发送方提供所有 PRF 输出。虽然我们的恶意 DOPRF 协议为接收方提供了在发回给发送方之前对 PRF 输出进行洗牌的杠杆,但我们仍然需要一种方法来证明洗牌的正确性。

虽然可以尝试利用通用的零知识协议来直接证明洗牌输出的正确性,但我们选择使用 Bayer-Groth 的 shuffle-decrypt 协议 [5],它可以有效地在零知识中证明,给定一组密码文和一组明文,明文对应于密码文的一些排列组合的解密。为了在我们的协议中加入这种洗牌证明,接收方不再只是在 DOPRF 评估后将 PRF 输出发回给发送方,而是将这些输出的加密与证明一起发送,证明每一个输出都加密了正确计算的值 。除此之外,接收方还以洗牌的方式发送 PRF 输出,同时发送 BayerGroth 洗牌证明,证明它们与上述密码文按某种洗牌顺序解密的结果一致。

在我们为了利用有效的洗牌证明而设计的上述结构中,让 。证明人需要从 Camenisch-Shoup 加密切换到 ElGaml 加密,因为 是在 Camenisch-Shoup 加密中加密的,而这一步要加密的值是 ,证明人需要证明的知识是 而不是 。使用 ElGamal 对 进行加密,在群中 可以证明指数的知识。然而,验证者需要提供一个证明,证明 CamenishShoup 密文,它有明文域 ,和 ElGamal 密文,它有明文域 ,其中 ,加密一致的值 。为了实现这一点,我们观察到,只需证明这两个加密值在各自领域的一致性(即 ),除此之外,还要证明 。对于后面的自 ,使用对西格玛协议有懈怠的范围证明就足够了,它只能保证 。这就完成了一个具有随机洗牌的 PRF 输出的恶意 DOPRF 协议。

从洗牌 DOPRF 到交集和:洗牌 DOPRF 协议足以在半诚实的环境下获得 PSI-cardinality,方法是用相同的密钥运行两个洗牌 DOPRF,其中一个协议中 持有输入并作为发送方,而在另一个协议中他们的角色是相反的。在恶意设置中,当两个协议并行执行时,我们必须额外确保两方使用一致的 DOPRF 密钥共享。每一方将首先承诺他们的 DOPRF 密钥份额,然后证明他们在两个协议中使用的密钥份额的一致性,这可以通过西格玛协议来完成。

为了进一步实现隐私交集求和,类似于半诚实的设置,我们使用加法同态加密法对与其中一个集合相关的整数值进行加密。这种加密的秘密密钥现在在双方之间共享,这对保持洗牌证明的保密性保证很重要。发送方将这些加密附加到恶意洗牌的 DOPRF 评估中的相应输入。现在,在该协议中应用洗牌的接收方还需要重新随机化相关值的加密,并提供一个证明,即应用于这些加密的洗牌与 PRF 值上的洗牌是一样的。这可以在 Bayer-Groth 洗牌证明中实现,因为在他们的协议中,验证人承诺了洗牌,我们可以通过两个洗牌证明使用相同的承诺。与半诚实的设置不同,现在双方都可以计算两组 PRF 值的交集,并同态地增加相应的重新随机化的密文。为了共同解密所产生的密文,每一方都使用自己的密钥份额对密文进行部分解密并发送给另一方。他们还必须证明其部分解密的正确性,同样通过西格玛协议。

分批协议组件:在我们上述的构造中,我们使用西格玛风格的协议来为 DOPRF 评估的正确性提供证明,为洗牌重新加密,为交叉和重新随机化。为了优化这种协议的通信效率,我们利用各种技术对协议的组成部分进行批处理。在高层次上,我们使用的批处理有三种类型:批处理 Pedersen 承诺,批处理 CamenischShoup 加密,以及批处理 sigma 协议。

这些批处理技术将在第 5 节描述。需要进一步注意的是,确保不同批处理技术之间的兼容性。我们在论文的完整版本中描述了这些技术的详细构成。

我们认为,这些批处理技术可能具有独立的意义。例如,我们的分批西格玛协议包括比已知技术更严格的范围证明,我们的分批 Camenisch-Shoup 加密实现了分批的解密证明,这带来了渐进的效率提升。

组织:我们在第 3 节中介绍了我们的符号、安全假设、重要定义和加密方案,并在第 4 节中介绍了我们的私有相交和协议。我们的批处理技术在第 5 节中描述。 关于我们协议的详细恶意安全证明,具体的西格玛协议,以及我们协议中使用的 PRF 的选择性安全证明,请参阅我们论文的完整版本 [46]。

3. 预备工作

3.1 符号

我们用 来表示安全参数。让 的集合。 定义为 。我们用 表示 集合。我们用 表示群 的阶。我们用 表示一个可忽略的函数,即一个函数 ,使得 对任何多项式 和足够大的 都成立。

3.2 计算假设

决策性 q-Diffie-Hellman 反演(q-DHI)假设 [47]。在群 中,具有生成元 和阶 ,计算 ,其中 中的随机值,给定元组 的计算问题被称为计算 -DHI 问题。对于任何固定的常数 ,我们定义该问题的决策版本的困难度如下。设 为一个算法,输入一个安全参数 ,选择一个模数 和一个乘法群 的生成元 。如果对于任何高效的算法 强 RSA 假设 。强 RSA 假设指出,对于给定的未知因子分解的 RSA 模数 和随机元素 ,在计算上很难找到任何一对 ,使得

3.3 密码学工具

我们在这一节中介绍一些加密工具。关于 Pedersen 承诺 [53]、Camenisch-Shoup 加密 [13]、ElGamal 加密 [26] 和 2-out-of-2 阈值加密的描述,请参见本文的完整版本。

零知识的知识论证。我们使用 [14] 中介绍的符号来表示离散对数知识的各种零知识论证和关于离散对数的语句的有效性论证。下面的例子是逐字逐句摘自 [13]。 表示 " 对整数 的知识的零知识论证,使 成立、 其中 ," 在这里 是一些群 的元素, 。惯例是,圆括号内的元素表示正在证明的数量(一般来说验证者不知道),而所有其他参数验证者都知道。使用这个符号,一个证明协议可以通过指出其目的而隐藏所有细节来描述。

我们对零知识证明使用类似的符号。作为一个例子、 表示一个零知识证明,存在 ,使

在我们的协议中,我们通过西格玛协议实例化了这种形式的零知识论证和零知识证明。我们在第 5 节中阐述了如何做到这一点,以及批处理技术对西格玛协议的作用。在我们的构造中使用的具体西格玛协议将在我们的完整版本中介绍。

Fiat-Shamir 启发法。所有的西格玛协议都是交互式的,并且是公共币,其中来自验证者的信息都是统一随机选择的,与验证者发送的信息无关。我们只证明它们是诚实验证人的零知识。通过 Fiat-Shamir 启发式 [29],这些协议可以变成一个非交互式的证明或论证,其中验证人用加密哈希函数计算公共币的挑战,而不是与验证人互动,这减少了通信回合以及总通信成本。此外,由此产生的非交互式协议可以被证明在随机神谕模型中是恶意安全的。

洗牌证明。Bayer-Groth [5] 提出了一种针对同态加密的重新随机化和洗牌的正确性的零知识知识证明,其实现了亚线性的通信复杂性。具体而言,给定同态加密的公钥 ,原始密文 ,一个置换 上,重新随机化和洗牌后的密文 ,其中 。以下零知识证明可以证明 ZK-AoK 的通信复杂性为 。此外,可以证明两个陈述使用相同的置换 。该协议是公共硬币交互式的,因此可以使用 Fiat-Shamir 启发式转换为非交互式的恶意安全协议。

3.4 安全模型

我们在理想 / 现实世界的范式中定义了隐私交集求和协议对恶意对手的安全性。该定义将现实世界的执行结果与涉及受信任的第三方的理想世界的执行结果进行比较,我们称之为理想功能。图 1 中定义的理想功能 ,接收双方的输入,计算交集,并将输出返回给双方。广义上讲,如果现实世界中对手的输出与理想世界中对手的输出在计算上无法区分,那么协议 就是安全的,这意味着协议的现实世界的执行不会比理想世界的执行泄露任何信息。因此,各方只能从他们的输入和输出中了解他们可以推断的信息。

从形式上讲,如果对于现实世界中的每一个 PPT 对手 ,在理想世界中存在一个 PPT 对手 ,使得对于任何输入 ,我们说一个私有相交和协议对恶意对手是安全的、 其中 表示 在协议 的现实世界执行中的输出, 表示 在理想世界执行中的输出。

image-20230417145042571

图 1. 恶意安全隐私交集求和的理想功能。

4 协议描述

我们的结构由两个阶段组成。第一个阶段是离线设置,双方共同决定加密基元的参数,这些参数将在在线计算中使用。请注意,我们不假设任何基元的可信设置,并为这些基元提供安全的两方计算协议。第二阶段是在线计算,它依赖于输入集并使用设置的参数。我们在线阶段的主要构件是一个洗牌的分布式 OPRF(DOPRF)结构,它是一个具有独立兴趣和其他潜在应用的基元。因此,我们单独介绍洗牌的 DOPRF 构造。

离线设置。在我们的恶意安全隐私交集求和协议中,双方首先运行一个(一次性的)离线设置,以生成加密和承诺方案的参数。双方首先商定一个群 ,其中 假设成立。这个组将是他们计算 DOPRF 的组。每一方生成 CamenischShoup 加密、ElGamal 加密和 Pedersen 承诺的参数,并将公共部分发送给另一方,同时提供相应的正确生成证明(这将在我们的完整版本中讨论)。双方生成 2-out-of-2 门槛 ElGamal 加密的参数,这可以通过每一方在本地生成 ElGamal 参数并设置共享秘钥为两个本地秘钥之和,并计算相应的公钥来完成。详细协议在图 2 中描述。

在线阶段。在一次性离线设置后,对于每个隐私交集求和实例,双方运行图 3 中描述的在线协议。两方的输入如下: 有一个输入的元素集 ,有相关的整数值 ,而 只有一个元素集 。协议的输出是,要么双方都放弃,要么双方都获得相交和

在高层次上,该协议使用洗牌 DOPRF,使双方都能获得 中的值的洗牌 PRF 评估,其中 中的 PRF 值与 中相应的整数值的 ElGamal 加密配对,这是在 2-out-of-2 阈值 ElGamal 下加密的。之后,双方独立计算交集之和的 ElGamal 加密,因为他们可以在 PRF 值上计算交集,然后对整数值的加密进行加总。在这一点上,双方持有的两个密码文本应该是相同的。现在,每一方都可核查地半解密它所获得的密码,并将所得的可核查的部分解密发送给另一方。然后双方都可以对其收到的部分解密进行半解密,以获得输出。

洗牌 DOPRF 协议:我们在图 4 中把我们的恶意安全洗牌 DOPRF 构造作为一个独立的基元来描述。在下面的讨论中, 是持有输入元素 的一方, 共同评估这些元素上的洗牌 DOPRF。首先, 承诺其 PRF 密钥份额 ,同时将其在自己的密钥下的 Camenisch-Shoup 加密发送给 ,并证明加密后的值和承诺的值是相同的。然后, 可以对其每个元素 xi 进行同态计算 。为了掩盖值 选择随机值 并计算 也承诺值 ,同时证明这些承诺和加密使用一致的值。 验证证明的正确性,解密 以获得 并计算 PRF 评估 。然后, 计算出 ElGamal 加密 和承诺 ,并将它们连同这些值对 进行加密和承诺解密的证明一起发送给 ,由 验证。此外, 的输出 进行重新随机化和洗牌,并将这些值与洗牌证明一起发送。最后,如果 使用随机性 重新随机化密码文, 就会被透露给 验证证明并接受 的值作为其输出的 PRF 值。在这一步, 从 Camenisch-Shoup 加密切换到 ElGaml 加密,因为要加密的值是 需要证明的知识是 而不是 。在群 中使用 ElGamal 对 进行加密可以实现这种知识证明。如果在协议执行过程中对任何证明的验证失败,那么双方就会中止。

此外,在对 的输入执行 DOPRF 的过程中,各方在 DOPRF 评估的同时运行以下额外的步骤,以方便保持值 与适当的 PRF 评估配对。在 DOPRF 协议的第二轮, 使用 ElGamal 加密参数对 值进行加密,其中秘密密钥在双方之间共享。 将这些加密与对其元素 的部分 PRF 评价配对发送。当 以排列顺序返回完成的 DOPRF 评估时,它也会发送以相同顺序排列的 值的重新随机化加密,并证明这两组数据是以相同的排列方式进行洗牌的。

启用批处理:到目前为止,我们描述了我们对每个元素 的洗牌 DOPRF 构造,协议中的 都是单一语句的 sigma 协议。为了减少协议的通信,我们利用了各种批处理技术,我们在第 5 节中进行了描述。我们的私有相交和协议的具体实例并没有以完全非黑箱的方式使用洗牌的 DOPRF,这一点我们将在下面讨论。

在在线阶段的第 2 步, 将通过承诺值 隐含地承诺其输入, 将以类似方式隐含地承诺其输入。这些值可以是分批的,分批承诺的西格玛协议也可以是分批的。此外,每一方将在这一步中承诺他们的 DOPRF 密钥份额。这一变化并不影响我们的安全保证,因为在生成 PRF 参数之前, 的承诺足以提取模拟证明中的集合元素,因此安全性仍然可以被简化为底层 PRF 的较弱的选择性安全概念。展望未来, 的承诺将在 DOPRF 协议的第二回合中直接用于进一步的计算,避免了在分批 和分批 中证明 , 的一致性,如果各方在 PRF 参数生成前只承诺其元素,则会出现这种情况。

为了使批处理 Camenisch-Shoup 密码文的第一部分,每个批处理的 Camenisch-Shoup 密码文有 个槽。在 DOPRF 协议的第一轮中, 将对 个副本进行加密,其中 的第 个副本在第 个槽中加密,其他槽都是 。这些加密将在稍后的洗牌 DOPRF 协议的第二轮中使用,以实现对 的批量 Camenisch-Shoup 加密。

最后,在 DOPRF 协议的第 2 轮中, 可以利用之前承诺的 , , 以及 的加密来对 进行批量 Camenisch-Shoup 加密和 Pedersen 承诺。这一步中的西格玛协议也可以分批进行。每个西格玛协议的批处理细节将在本文的完整版本中介绍。

Fig. 2

图 2. 恶意安全私人相交和协议的一次性离线设置。

Fig. 3

图 3. 恶意安全私人相交和协议的在线阶段。

Fig. 4

图 4. 恶意安全洗牌的 DOPRF 协议,其中 持有输入。

5 批处理技术

在这一节中,我们讨论了我们协议中各个部分的批处理技术。这些技术对我们协议的通信成本有很大的影响,可能会有独立的兴趣。

5.1 对 Pedersen 承诺进行批处理

5.2 批处理 Camenisch-Shoup 加密

5.2.1 计算模

5.2.2 共享第一个密文组件

5.2.3 在一个单一的密文中加密多个信息

5.2.4 解密值的批量承诺

5.3 批处理的 Sigma 协议

5.4 多重指数化的论证

6 通信、计算和货币成本

参考文献

附录 A 选择性安全伪随机函数

A.1 建构

A.2 安全证明

附录 B 安全分析

B.1 防御恶意 的安全

B.2 防御恶意 的安全

附录 C Sigma 协议

C.1 离线设置的第 1 步

C.2 离线设置的第 2 步

C.3 离线设置的第 3 步

C.4 在线设置的第 2 步

C.5 洗牌 DOPRF 的第 1 轮

C.6 洗牌 DOPRF 的第 2 轮

C.7 洗牌 DOPRF 的第 2 轮

C.7.1 生成 Pedersen 承诺参数

C.7.2 承诺

C.7.3 多次指数化的论证